home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1990 October
/
64er_Magazin_90-10_1990_Markt__Technik_de_Side_A.d64
/
banking 64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
20KB
|
618 lines
100 rem initialisierung
110 rem
120 print"[147]"chr$(8)
130 dimah$(99),az$(99),bu(99)
140 dimbd$(350),bt$(350),bs$(350)
150 poke53280,0:poke53281,0:er=58732
160 rem
170 rem hauptmenue
180 rem
190 printchr$(19)
200 print"[176][195][195][195][195][195][195][195][195][195][195] banking 64 [146][195][195][195][195][195][195][195][195][195][195][174]"
210 print"[156] [146] [156] [146]"
220 print"[158][169] [223][146][156][169][146][150][213][195][195][195][195][195][195][195][195][195][195][195][195][201][213][195][195][195][195][195][195][195][195][195][195][195][195][201][146][156][223][146][158][169] [223]"
230 print" [156] [146][158] 1 [146][156] [146][150][194][155] kto anlage [146][150][194][194][146][155] aenderung [146][150][194][156] [158] 5 [156] [146]"
240 print" [158][223] [146][169][156][223][146][150][202][195][195][195][195][195][195][195][195][195][195][195][195][203][202][195][195][195][195][195][195][195][195][195][195][195][195][203][146][156][169][146][158][223] [146][169][146]"
250 print" [156] [146] [156] [146]"
260 print" [156] [146] [156] [146]"
270 print"[158][169] [223][146][156][169][146][150][213][195][195][195][195][195][195][195][195][195][195][195][195][201][213][195][195][195][195][195][195][195][195][195][195][195][195][201][146][156][223][146][158][169] [223]"
280 print" [156] [146][158] 2 [146][156] [146][150][194][155] kto rename [146][150][194][194][146][155] auswerten [146][150][194][156] [158] 6 [156] [146]"
290 print" [158][223] [146][169][156][223][146][150][202][195][195][195][195][195][195][195][195][195][195][195][195][203][202][195][195][195][195][195][195][195][195][195][195][195][195][203][146][156][169][146][158][223] [146][169][146]"
300 print"[156] [146] [156] [146]"
310 print"[156] [146] [156] [146]"
320 print"[158][169] [223][146][156][169][146][150][213][195][195][195][195][195][195][195][195][195][195][195][195][201][213][195][195][195][195][195][195][195][195][195][195][195][195][201][146][156][223][146][158][169] [223]"
330 print" [156] [146][158] 3 [146][156] [146][150][194][155] kto loesch [146][150][194][194][146][155] directory [146][150][194][156] [158] 7 [156] [146]"
340 print" [158][223] [146][169][156][223][146][150][202][195][195][195][195][195][195][195][195][195][195][195][195][203][202][195][195][195][195][195][195][195][195][195][195][195][195][203][146][156][169][146][158][223] [146][169][146]"
350 print"[156] [146] [156] [146]"
360 print"[156] [146] [156] [146]"
370 print"[158][169] [223][146][156][169][146][150][213][195][195][195][195][195][195][195][195][195][195][195][195][201][213][195][195][195][195][195][195][195][195][195][195][195][195][201][146][156][223][146][158][169] [223]"
380 print" [156] [146][158] 4 [146][156] [146][150][194][155] kto buchen [146][150][194][194][146][155] prg quitt [146][150][194][156] [158] 8 [156] [146]"
390 print" [158][223] [146][169][156][223][146][150][202][195][195][195][195][195][195][195][195][195][195][195][195][203][202][195][195][195][195][195][195][195][195][195][195][195][195][203][146][156][169][146][158][223] [146][169][146]"
400 print"[156] [146] [156] [146]"
410 print"[173][195][192][192][192][195][195][195] von m.wunderlich [146][195][192][192][192][195][195][195][189]"
420 poke55457,1:poke1185,67:poke55657,1:poke1385,67:poke55857,1:poke1585,67
430 poke56057,1:poke1785,67:poke55494,1:poke1222,67:poke55694,1:poke1422,67
440 poke55894,1:poke808,225:poke1622,67:poke56094,1:poke1822,67
450 geta$:ifa$=""then160
460 ifa$<chr$(49)ora$>chr$(56)then160
470 forg=0to600step40:poke55456+g,5:poke1184+g,160:poke55495+g,5
480 poke1223+g,160:nextg
490 poke1264,130:poke1303,130:poke1304,129:poke1343,129
500 poke1344,142:poke1383,142:poke1384,139:poke1423,139
510 poke1424,137:poke1463,137:poke1464,142:poke1503,142
520 poke1504,135:poke1543,135:poke1664,182:poke1703,182
530 poke1704,180:poke1743,180
540 ifa$="8"then660
550 open2,8,0:close2:ifst<>-128then580
560 print"[158][147] floppy disk ist nicht eingeschaltet"
570 printspc(9)"[156] - taste druecken - ":wait198,1:poke198,0:clr:goto100
580 open15,8,15,"i0":input#15,aa,aa$
590 close15:ifaa=0then610
600 print"[147][158]bitte disk einlegen & drive schliessen":goto570
610 ifa$="1"ora$="7"then650
620 open3,8,3,"banking 64-datei,s,r"
630 close3:gosub740
640 ifaa=62thenprint"[147][158] banking 64 - datei nicht gefunden":goto570
650 onval(a$)goto1350,2230,2420,2650,3400,4610,1180
660 rem
670 rem prg-quitt
680 rem
690 print"[147]":poke214,12:syser
700 print"[158] return to basic (ja/nein) [157][157][157][157][157][157]";:yz=4:gosub910
710 ify$="ja"thensys64738
720 ify$="nein"thenclr:goto100
730 goto690
740 rem
750 rem fehlerkanal
760 rem
770 open15,8,15:input#15,aa,aa$:close15
780 return
790 rem
800 rem funktionsanzeige
810 rem
820 print"[147][154]":poke214,0:syser
830 ifau=2thenprint"nr rename-konten"
840 ifau=3thenprint"nr scratch-konten"
850 ifau=4thenprint"nr buch-konten"
860 ifau=5thenprint"nr buchung-aendern"
870 ifau=6thenprint"nr kont0-auswerten"
880 printspc(22)"[145]kontostand bu's"
890 print"--------------------------------------":return
900 rem
910 rem eingaberoutine
920 rem
930 z$="":y$="":print"[164][157]";
940 getz$:ifz$=""then940
950 ifz$=chr$(13)andau=90then1160
960 ifz$=chr$(13)andlen(y$)=0then940
970 ifz$=chr$(13)then1160
980 ifz$=chr$(20)andlen(y$)=0then940
990 ifz$=chr$(20)theny$=left$((y$),len(y$)-1):print" [157][157][164][157]";
1000 ifz$=chr$(32)andlen(y$)=0then940
1010 ifz$=chr$(32)then1120
1020 ifz$=chr$(95)andlen(y$)=0theny$="_":goto1160
1030 ifyz=1oryz=4oryz=16oryz=20then1090
1040 ifz$="v"andlen(y$)=0theny$="v":ifyz=2oryz=3then1170
1050 ifz$="z"andlen(y$)=0theny$="z":ifyz=2oryz=3then1170
1060 ifz$="-"andlen(y$)=0thenz$="-":ifyz=8then1120
1070 ifz$="d"andlen(y$)=0thenz$="d":ifyz=2then1170
1080 ifz$<chr$(48)orz$>chr$(57)then940
1090 ifz$="+"orz$="-"orz$="."orz$="/"then1120
1100 ifz$<chr$(48)orz$>chr$(90)then940
1110 ifz$>chr$(57)andz$<chr$(65)then940
1120 iflen(y$)=yzthen940
1130 y$=y$+z$:printz$;:iflen(y$)=yzandyz=1then1170
1140 iflen(y$)<yzthenprint"[164][157]";
1150 goto940
1160 iflen(y$)<yzthenprint" ";
1170 poke211,0:syser:return
1180 rem
1190 rem directory
1200 rem
1210 print"[147]":poke214,12:poke211,15:syser:print"directory"
1220 restore:ad=50002
1230 readwt:ifwt=-1then1310
1240 pokead,wt:ad=ad+1:goto1230
1250 data169,1,162,187,160,195,32,189,255,169,8,133,186,169,96,133,185,32,213
1260 data243,165,186,32,180,255,165,185,32,150,255,169,0,133,144,32,215,170,160
1270 data5,132,2,32,165,255,133,251,164,2,136,208,244,32,165,255,164,144,208,41
1280 data166,251,32,205,189,169,32,32,210,255,32,165,255,166,144,208,24,170,240
1290 data6,32,210,255,76,150,195,169,13,32,210,255,32,225,255,240,5,160,3,76
1300 data121,195,32,171,255,76,66,246,36,0,0,0,0,-1
1310 print"[147]":sys50002
1320 printspc(28)"[145][156] * return *"
1330 getd$:ifd$=chr$(13)thenclr:goto100
1340 goto1330
1350 rem
1360 rem anlegen
1370 rem
1380 bu=0:ar=0:az$="0":ah$=""
1390 print"[147][156] anlegen [146] freie kto:"99-ar"[156] _ [146] menue"
1400 open3,8,3,"banking 64-datei,s,r":close3:gosub740:ifaa=0then1450
1410 ifaa=62thenpoke214,5:syser:print"[158] banking 64-datei wird angelegt"
1420 ifaa=62thenopen3,8,3,"banking 64-datei,s,w":close3
1430 ifaa=62thenpoke214,5:syser:print" "
1440 ifaa=62then1510
1450 open3,8,3,"banking 64-datei,s,r"
1460 ifst=64thenclose3:goto1510
1470 ar=ar+1:input#3,ah$(ar),az$(ar),bu(ar)
1480 ifar=90thenprint"[145] "
1490 print"[145] anlegen [146][156] freie kto:"99-ar:poke211,28:syser
1500 print"[145] _ [146] menue":goto1460
1510 print"[147][156] anlegen [146] freie kto:"99-ar"[156] _ [146] menue"
1520 ifar=99thenprint" max. anlage von 99 konten erreicht"
1530 ifar=99thenprint" entweder konten loeschen oder neue"
1540 ifar=99thenprint" banking 64 diskette verwenden !":goto570
1550 poke214,5:syser:print"[154]name des kontos: [158]";
1560 yz=16:gosub910
1570 ify$="_"andar=0thenopen15,8,15,"s:banking 64-datei":close15
1580 ify$="_"thenclr:goto100
1590 poke214,8:syser:print"konto & kontoplan wird neu angelegt"
1600 open3,8,3,y$+",s,w":close3
1610 gosub740:ifaa=0then1650
1620 ifaa=63thenprint"[158][145]floppy meldet: konto bereits vorhanden":goto1640
1630 print"[147][158]floppy meldet:"aa;aa$
1640 printspc(9)"[156] - taste druecken - ":wait198,1:poke198,0:goto550
1650 open3,8,3,"banking 64-datei,s,a"
1660 print#3,y$:print#3,az$:print#3,bu
1670 close3:ar=ar+1:goto1510
1680 rem
1690 rem kontenplan ausgeben
1700 rem
1710 ifzk=29thengosub790:ae=1:af=1:zk=0:goto1790
1720 print"[147]":poke214,12:syser
1730 ad=0:ae=1:af=1:ao=0:az$="":ay=0
1740 open3,8,3,"banking 64-datei,s,r"
1750 ifst=64thenclose3:gosub790:poke214,2:syser:goto1790
1760 ad=ad+1:print"[145] loading kontenplan:";ad
1770 input#3,ah$(ad),az$(ad),bu(ad)
1780 ay=ay+val(az$(ad)):goto1750
1790 mj$=az$(ae)
1800 ifval(mj$)>=0thenprint"[157]"ae
1810 ifval(mj$)<0thenprint"[157][150]"ae
1820 poke211,3:syser:print"[145]"ah$(ae)
1830 mu=len(mj$):gosub2050
1840 poke211,18:syser:print"[145]"left$(la$,11)"."right$(la$,2)" "bu(ae)
1850 ifae=adoraf=17then1870
1860 ae=ae+1:af=af+1:goto1790
1870 print"[154]--------------------------------------"
1880 print"anz-kto:"ad" gesamt"
1890 mj$=str$(ay):mu=len(mj$):ifay>=0thenmu=mu-1:mj$=right$(mj$,mu)
1900 gosub2050:poke211,18:syser
1910 ifay>=0thenprint"[145]"left$(la$,11)"."right$(la$,2)" haben"
1920 ifay<0thenprint"[145][150]"left$(la$,11)"."right$(la$,2)" soll"
1930 print
1940 print"[158]welche konto-nr.: (v/z/d) _[146] menue"
1950 poke211,18:syser:print"[145]";
1960 yz=2:gosub910:ify$="_"thenclr:goto100
1970 ifz$="d"then5850
1980 ify$="v"andae=adthenprint"[145]":goto1940
1990 ify$="v"thenaf=0:poke214,2:syser:goto1860
2000 ify$="z"andae<=17thenprint"[145]":goto1940
2010 ify$="z"thenae=ae-16-af:af=1:ifae<1thenae=1
2020 ify$="z"thengosub790:goto1790
2030 ifval(y$)<1orval(y$)>adthenprint"[145]":goto1940
2040 return
2050 ifmu=13thenla$=mj$
2060 ifmu=12thenla$=""+mj$
2070 ifmu=11thenla$=""+mj$
2080 ifmu=10thenla$=""+mj$
2090 ifmu=9thenla$=""+mj$
2100 ifmu=8thenla$=""+mj$
2110 ifmu=7thenla$=""+mj$
2120 ifmu=6thenla$=""+mj$
2130 ifmu=5thenla$=""+mj$
2140 ifmu=4thenla$=""+mj$
2150 ifmu=1thenla$="00"+mj$
2160 ifleft$(mj$,1)="-"then2200
2170 ifmu=3thenla$=""+mj$
2180 ifmu=2thenla$="0"+mj$
2190 goto2220
2200 ifmu=2thenla$="-00"+right$(mj$,1)
2210 ifmu=3thenla$="-0"+right$(mj$,2)
2220 return
2230 rem
2240 rem rename
2250 rem
2260 ah$="":aj$="":at$="":ah=0
2270 aj=0:au=2:gosub1680
2280 print"[147] rename [146] [129] _ [146] berichtigung"
2290 ah=val(y$):aj$=ah$(ah)
2300 print"[156]rename konto : ";ah$(ah)
2310 print"[154]new kto-name : ";
2320 yz=16:gosub910:ify$="_"thenzk=29:goto2230
2330 at$=y$:ah$(ah)=y$
2340 open3,8,15,"r:"+at$+"="+aj$:close3
2350 gosub740:ifaa=0then2380
2360 print"[158]floppy drive meldet:"aa;aa$
2370 printspc(9)" - taste druecken - ":wait198,1:poke198,0:goto550
2380 print"konto & kontenplan wird umgeschrieben "
2390 open3,8,3,"@:banking 64-datei,s,w"
2400 foraj=1toad:print#3,ah$(aj):print#3,az$(aj):print#3,bu(aj):nextaj
2410 close3:goto2230
2420 rem
2430 rem scratch
2440 rem
2450 au=3:gosub1680
2460 ah$="":ak$="":aj=0:ah=0
2470 print"[147] loeschen [146]":ah=val(y$)
2480 print"[154]scratch konto : ";ah$(ah)
2490 print"anz-buchungen :";bu(ah)
2500 print"richtig (ja/nein) [157][157][157][157][157][157][157][157]";:yz=4:gosub910
2510 ify$="ja"then2540
2520 ify$="nein"thenzk=29:goto2420
2530 print"[145][145]":goto2500
2540 open3,8,15,"s:"+ah$(ah):close3
2550 gosub740:ifaa=0then2580
2560 print"[158]floppy meldet:"aa;aa$
2570 printspc(9)" - taste druecken - ":wait198,1:poke198,0:goto550
2580 print"scratch konto & eintrag im kontenplan ":ah$(ah)=""
2590 ifad=1thenopen15,8,15,"s:banking 64-datei":close15:clr:goto100
2600 open3,8,3,"@:banking 64-datei,s,w"
2610 foraj=1toad:ifah$(aj)=""then2630
2620 print#3,ah$(aj):print#3,az$(aj):print#3,bu(aj)
2630 nextaj
2640 close3:goto2420
2650 rem
2660 rem buchen
2670 rem
2680 au=4:gosub1680
2690 po=0:ah=0:bb=0:bs=0:cc=0:bd$="":bt$="":bs$=""
2700 ah=val(y$):bb$=az$(ah)
2710 print"[147][156]";ah$(ah):poke211,22:syser:print"[145]buchung-nr.:"bu(ah)+bb+1
2720 bz=bu(ah)+bb
2730 print"---------------------------------------"
2740 ifbz=350thenprint" max. anlage von 350 buchungen erreicht"
2750 ifbz=350thenprint" entweder buchungen loeschen oder neues"
2760 ifbz=350thenprint" konto mit vorsaldo auf disk anlegen !!":goto570
2770 bb=bb+1:poke214,4:syser
2780 print"kontostand alt :":mj$=bb$:mu=len(mj$):gosub2050:poke211,21:syser
2790 ifval(bb$)>=0thenprint"[145]"left$(la$,11)"."right$(la$,2)" dm"
2800 ifval(bb$)<0thenprint"[145][150]"left$(la$,11)"."right$(la$,2)" dm"
2810 poke214,7:syser
2820 print"[154]datum (ttmmjj) : _[146] ende":poke211,17:syser:print"[145][158]";
2830 yz=6:gosub910
2840 ify$="_"thenbb=bb-1:goto3230
2850 iflen(y$)<6then2810
2860 ifval(left$(y$,2))<1orval(left$(y$,2))>31then2810
2870 ifval(left$(y$,2))>29andval(mid$(y$,3,2))=2then2810
2880 ifval(right$(y$,2))<86orval(right$(y$,2))>99then2810
2890 ifval(mid$(y$,3,2))<1orval(mid$(y$,3,2))>12then2810
2900 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=4then2810
2910 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=6then2810
2920 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=9then2810
2930 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=11then2810
2940 poke214,7:poke211,17:syser
2950 printleft$(y$,2);".";mid$(y$,3,2)".";right$(y$,2);" ":bd$(bb)=y$
2960 poke214,9:syser
2970 print"[154]buchungstext : [158]";
2980 yz=20:gosub910:ify$="_"then2960
2990 bt$(bb)=y$
3000 poke214,11:syser
3010 print"[154]buchungsbetrag : [158]";
3020 yz=8:gosub910:ify$="-"then3000
3030 ifval(y$)=0then3000
3040 poke214,11:poke211,17:syser:print" ":mj$=y$:mu=len(mj$):gosub2050
3050 ifval(y$)<0thenprint"[150]"
3060 ifval(y$)>=0thenprint""
3070 poke214,11:poke211,21:syser
3080 printleft$(la$,11)"."right$(la$,2)" dm"
3090 bs$(bb)=y$:su=val(y$)+val(bb$)
3100 mj$=str$(su):mu=len(mj$):ifsu>=0thenmu=mu-1:mj$=right$(mj$,mu)
3110 gosub2050:poke214,14:syser
3120 print"kontostand neu :"
3130 poke211,21:syser
3140 ifval(mj$)>=0thenprint"[145]"left$(la$,11)"."right$(la$,2)" dm"
3150 ifval(mj$)<0thenprint"[145][150]"left$(la$,11)"."right$(la$,2)" dm"
3160 print"[156]---------------------------------------"
3170 print" - richtig gebucht (j/n) -":
3180 bw$="":getbw$
3190 ifbw$="j"thenprint"[158] es sind noch"350-bu(ah)-bb"buchungen moeglich"
3200 ifbw$="j"thenforx=1to2000:nextx:bb$=mj$:goto2710
3210 ifbw$="n"thenbb=bb-1:goto2710
3220 goto3180
3230 ifbb=0thenzk=29:goto2650
3240 print"[156]daten werden an floppy disk uebertragen"
3250 open3,8,3,ah$(ah)+",s,a":close3
3260 gosub740:ifaa=0then3330
3270 print"[147]bitte disk einlegen & drive schliessen"
3280 printspc(9)" - taste druecken - ":wait198,1:poke198,0:close3
3290 open15,8,15,"i0":input#15,aa,aa$
3300 close15:ifaa=0then2710
3310 print"[147]bitte disk einlegen & drive schliessen"
3320 printspc(9)" - taste druecken - ":wait198,1:poke198,0:close3:goto2710
3330 open3,8,3,ah$(ah)+",s,a"
3340 forcc=1tobb:print#3,bd$(cc):print#3,bt$(cc):print#3,bs$(cc):nextcc:close3
3350 az$(ah)=bb$:bu(ah)=bu(ah)+bb
3360 print"bilanz + anzahl buchungen wird geprueft"
3370 open3,8,3,"@:banking 64-datei,s,w"
3380 foraj=1toad:print#3,ah$(aj):print#3,az$(aj):print#3,bu(aj):nextaj:close3
3390 goto2650
3400 rem
3410 rem buchung aendern/loeschen
3420 rem
3430 au=5:gosub1680
3440 aw=0:zq=0:ff=0:gg=1
3450 print"[147]":poke214,8:poke211,8:syser:ah=val(y$)
3460 print"[156]";ah$(ah)
3470 ifbu(ah)=0thenprint"keine buchung auf diesem konto vorhanden"
3480 ifbu(ah)=0thenforx=1to2000:nextx:zk=29:goto3400
3490 open3,8,3,ah$(ah)+",s,r"
3500 ifst=64thenclose3:goto3540
3510 ff=ff+1:poke214,11:poke211,8:syser:print"[145]loading buchung:";ff
3520 input#3,bd$(ff):input#3,bt$(ff)
3530 input#3,bs$(ff):goto3500
3540 ap=1:gg=1
3550 print"[147][154]";ah$(ah);" "ff"buchungen"
3560 print"nr. buchungstext betraege tt.mm.jj"
3570 print"---------------------------------------"
3580 print"[154][157]"gg:ifbt$(gg)=""then3650
3590 poke211,4:syser:print"[145]"left$(bt$(gg),12)
3600 mj$=bs$(gg):mu=len(mj$):gosub2050
3610 poke211,15:syser
3620 print"[145]"left$(la$,11)"."right$(la$,2)
3630 poke211,31:syser:print"[145]"left$(bd$(gg),2)"."mid$(bd$(gg),3,2)".";
3640 printright$(bd$(gg),2)
3650 ifgg=ffthen3680
3660 ifap=10then3680
3670 gg=gg+1:ap=ap+1:goto3580
3680 print"[154]---------------------------------------"
3690 print"[154]welchen satz aendern: (v/z) _[146] ende"
3700 poke211,22:syser:print"[145]";:yz=3:gosub910
3710 ify$="_"andzq=7then4430
3720 ify$="_"thenclr:goto100
3730 ify$="v"andgg=ffthenprint"[145]":goto3690
3740 ify$="z"andgg<=10thenprint"[145]":goto3690
3750 ify$="v"thenap=1:gg=gg+1:goto3550
3760 ify$="z"thengg=gg-9-ap:ap=1:ifgg<1thengg=1
3770 ify$="z"then3550
3780 ifval(y$)=0orval(y$)>ffthenprint"[145]":goto3690
3790 aw=val(y$):bh=val(bs$(aw))/100
3800 ifbd$(aw)=""then3690
3810 pq=val(right$(y$,1)):ifpq=0thenpq=10
3820 ifaw>ggthenprint"[145]":goto3690
3830 ifaw<gg-ap+1thenprint"[145]":goto3690
3840 qa=55415+(pq*40)
3850 forir=1to40:pokeqa+ir,7:next
3860 print"[156]buchung aendern/loeschen (a/l) _[146] nein"
3870 bw$="":getbw$:ifbw$=""then3870
3880 ifbw$="a"then3980
3890 ifbw$="l"then3920
3900 ifbw$="_"thengg=gg-ap+1:ap=1:goto3550
3910 goto3870
3920 print"[129][145]buchung wirklich loeschen ? (j/n) "
3930 bw$="":getbw$:ifbw$=""then3930
3940 ifbw$="j"thenzq=7:goto3970
3950 ifbw$="n"thengg=gg-ap+1:ap=1:goto3550
3960 goto3930
3970 bd$(aw)="":bt$(aw)="":bs$(aw)="":goto4420
3980 poke214,17:syser:print"datum : ";left$(bd$(aw),2)"."mid$(bd$(aw),3,2)".";
3990 printright$(bd$(aw),2)
4000 poke211,30:syser:print"[145](j/n)"
4010 poke214,19:syser:print"text : ";bt$(aw)
4020 poke211,30:syser:print"[145](j/n)"
4030 poke214,21:syser:print"summe : ";:ifbh<0thenprint;bh
4040 ifbh>=0thenprint"[157]";bh
4050 poke214,21:poke211,30:syser:print"(j/n)"
4060 poke214,17:poke211,36:syser:print;
4070 yz=1:gosub910:ify$="j"then4100
4080 ify$="n"then4250
4090 poke214,17:poke211,30:syser:print"(j/n) ":goto4060
4100 poke214,17:poke211,8:syser:zq=7
4110 print" ":poke211,8:syser:print"[145]";
4120 yz=6:gosub910
4130 iflen(y$)<6then4100
4140 ifval(left$(y$,2))<1orval(left$(y$,2))>31then4100
4150 ifval(left$(y$,2))>29andval(mid$(y$,3,2))=2then4100
4160 ifval(right$(y$,2))<86orval(right$(y$,2))>99then4100
4170 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=6then4100
4180 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=9then4100
4190 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=11then4100
4200 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=4then4100
4210 ifval(mid$(y$,3,2))<1orval(mid$(y$,3,2))>12then4100
4220 poke214,17:syser:print"datum : ";left$(y$,2)"."mid$(y$,3,2)".";
4230 printright$(y$,2)
4240 bd$(aw)=y$
4250 poke214,19:poke211,36:syser:print;
4260 yz=1:gosub910:ify$="j"then4290
4270 ify$="n"then4320
4280 poke214,19:poke211,30:syser:print"(j/n) ":goto4250
4290 poke214,19:poke211,8:syser:zq=7
4300 print" ":poke211,8:syser:print"[145]";
4310 yz=20:gosub910:bt$(aw)=y$
4320 poke214,21:poke211,36:syser:print;
4330 yz=1:gosub910:ify$="n"then4420
4340 ify$="j"then4360
4350 poke214,21:poke211,30:syser:print"(j/n) ":goto4320
4360 poke214,21:poke211,7:syser:zq=7
4370 print" [157][157][157][157][157][157][157][157][157]";:yz=8
4380 gosub910
4390 ify$="-"then4360
4400 ifval(y$)=0then4360
4410 bs$(aw)=y$
4420 gg=gg-ap+1:ap=1:goto3550
4430 open3,8,3,"banking 64-datei,s,r":close3:gosub740:ifaa=0then4460
4440 print"floppy meldet:"aa;aa$
4450 printspc(9)" - taste druecken - ":wait198,1:poke198,0:goto4420
4460 print"[156]veraendertes konto wird gespeichert !!!"
4470 open3,8,3,"@:"+ah$(ah)+",s,w"
4480 forwu=1toff:ifbd$(wu)=""then4500
4490 print#3,bd$(wu):print#3,bt$(wu):print#3,bs$(wu)
4500 nextwu
4510 close3
4520 print"[129]bilanz + anzahl buchungen wird geprueft":bm=0:bs=0:bn$="":ki=0
4530 forwm=1toff:ifbd$(wm)=""then4550
4540 bs=bs+val(bs$(wm)):bm=bm+1
4550 nextwm
4560 bn$=str$(bs):ki=len(bn$):ifbs>=0thenki=ki-1:bn$=right$(bn$,ki)
4570 bu(ah)=bm:az$(ah)=bn$
4580 open3,8,3,"@:banking 64-datei,s,w"
4590 foraj=1toad:print#3,ah$(aj):print#3,az$(aj):print#3,bu(aj):nextaj:close3
4600 clr:goto100
4610 rem
4620 rem auswertung
4630 rem
4640 au=6:gosub1680
4650 ga=0:gb=0:gc=0:gd=0:ge=0:gg=0:gs=0:gt=0:ff=0:ah=val(y$)
4660 gf=0:gh=0:ra=0:rb=0:gz=0:ww=0
4670 print"[147][156]":poke214,8:poke211,8:syser:printah$(ah)
4680 ifbu(ah)=0thenprint"keine buchung auf diesem konto vorhanden"
4690 ifbu(ah)=0thenforx=1to2000:nextx:zk=29:goto4610
4700 open3,8,3,ah$(ah)+",s,r"
4710 ifst=64thenclose3:goto4750
4720 ff=ff+1:poke214,11:poke211,8:syser:print"[145]loading buchung:";ff
4730 input#3,bd$(ff):input#3,bt$(ff)
4740 input#3,bs$(ff):goto4710
4750 print"[147][156]auswertung ";ah$(ah)
4760 print"[129]tag..... :"
4770 print"monat... :"
4780 print"jahr.... :"
4790 print"text.... :"
4800 print"betrag < :"
4810 print"betrag > :"
4820 print"betrag = :"
4830 print"taste 'return' bewirkt keine selection"
4840 print"--------------------------------------":au=90:dr=0:qb=0
4850 printspc(15)"_[146] menue"
4860 poke214,4:poke211,11:syser:yz=2:gosub910
4870 ifz$="_"thenclr:goto100
4880 ifz$=chr$(13)andlen(y$)=0then4920
4890 ifval(y$)<1orval(y$)>31thenpoke214,4:poke211,11:print" ":goto4860
4900 iflen(y$)<2thenpoke214,4:poke211,11:print" ":goto4860
4910 ga$=y$:ga=5
4920 poke214,6:poke211,11:syser:yz=2:gosub910:ifz$=chr$(13)andlen(y$)=0then4960
4930 ifval(y$)<1orval(y$)>12thenpoke214,6:poke211,11:print" ":goto4920
4940 iflen(y$)=1thenpoke214,6:poke211,11:print" ":goto4920
4950 gb$=y$:gb=5
4960 poke214,8:poke211,11:syser:yz=2:gosub910:ifz$=chr$(13)andlen(y$)=0then5000
4970 ifval(y$)<86orval(y$)>99thenpoke214,8:poke211,11:print" ":goto4960
4980 iflen(y$)=1thenpoke214,8:poke211,11:print" ":goto4960
4990 gc$=y$:gc=5
5000 poke214,10:poke211,11:syser
5010 yz=20:gosub910:ifz$=chr$(13)andlen(y$)=0then5030
5020 gt$=y$:gt=5:gd=len(y$)
5030 poke214,12:poke211,11:syser:yz=8:gosub910:ify$="-"then5030
5040 ifz$=chr$(13)andlen(y$)=0then5090
5050 gs$=y$:gs=5
5060 poke214,12:poke211,10:syser:print" "
5070 poke214,12:poke211,10:syser:qb=val(gs$)/100:ifqb<0thenprint"[156] "qb:goto5220
5080 print""qb:goto5220
5090 poke214,14:poke211,11:syser:yz=8:gosub910:ify$="-"then5090
5100 ifz$=chr$(13)andlen(y$)=0then5150
5110 gf$=y$:gf=5:ra=len(y$)
5120 poke214,14:poke211,10:syser:print" "
5130 poke214,14:poke211,10:syser:qb=val(gf$)/100:ifqb<0thenprint"[156] "qb:goto5220
5140 print""qb:goto5220
5150 poke214,16:poke211,11:syser:yz=8:gosub910:ify$="-"then5150
5160 ifz$=chr$(13)andlen(y$)=0then5220
5170 ifval(y$)=0thenpoke214,16:poke211,11:print" ":goto5150
5180 gh$=y$:gh=5:rb=len(y$)
5190 poke214,16:poke211,10:syser:print" "
5200 poke214,16:poke211,10:syser:qb=val(gh$)/100:ifqb<0thenprint"[156] "qb:goto5220
5210 print""qb
5220 poke214,23:syser:print" return [146][156] monitor d [146][156] drucker _ [146][156] menue"
5230 getwf$:ifwf$="d"thendr=5:goto5270
5240 ifwf$=chr$(13)then5270
5250 ifwf$="_"then5790
5260 goto5230
5270 ifdr=5thenopen1,4,0:close1
5280 ifdr=5andst=-128thenprint"[156][147]drucker ist nicht empfangsbereit."
5290 ifdr=5andst=-128thenprint"ausgabe erfolgt daher auf ihrem monitor"
5300 ifdr=5andst=-128thenforwd=1to2000:nextwd:dr=0
5310 ifdr=5thenclose4:open4,4
5320 ifdr=5thenprint#4,"--------------------------------------------"
5330 ifdr=5thenprint#4,"tt.mm.jj text-kontenbewegungen betraege"
5340 ifdr=5thenprint#4,"--------------------------------------------"
5350 print"[147][154]auswertung "ah$(ah)
5360 print"text-kontenbewegung betraege tt.mm.jj"
5370 print"---------------------------------------"
5380 forgg=1toff
5390 ifga=5andleft$(bd$(gg),2)<>ga$then5560
5400 ifgb=5andmid$(bd$(gg),3,2)<>gb$then5560
5410 ifgc=5andright$(bd$(gg),2)<>gc$then5560
5420 ifgt=5andleft$(bt$(gg),gd)<>gt$then5560
5430 ifgs=5andval(bs$(gg))>val(gs$)then5560
5440 ifgf=5andval(bs$(gg))<val(gf$)then5560
5450 ifgh=5and(bs$(gg))<>gh$then5560
5460 bs=val(bs$(gg)):su=su+bs:rr=rr+1
5470 ifbs<0thenprint"[150]"bt$(gg)
5480 ifbs>=0thenprint""bt$(gg)
5490 mj$=bs$(gg):mu=len(mj$):gosub2050
5500 poke211,15:syser:print"[145]"left$(la$,11)"."right$(la$,2)
5510 poke211,31:syser:print"[145]"left$(bd$(gg),2)"."mid$(bd$(gg),3,2)".";
5520 printright$(bd$(gg),2)
5530 ifdr=5thengosub5810
5540 ifrr=17anddr=5then5750
5550 ifrr=17then5570
5560 nextgg
5570 print"[154]---------------------------------------"
5580 ifrr=17thenprint"zwischensumme":goto5600
5590 print"gesamtsumme"
5600 printspc(32)"[145]_[146] ende"
5610 ifdr=5thenprint#4,"--------------------------------------------"
5620 ifdr=5thenprint#4,ah$(ah);:lu=len(ah$(ah)):lw=23-lu
5630 ifdr=5andsu>=0thenprint#4,spc(lw)"haben :";
5640 ifdr=5andsu<0thenprint#4,spc(lw)"soll : ";
5650 mj$=str$(su):mu=len(mj$):ifsu>=0thenmu=mu-1:mj$=right$(mj$,mu)
5660 ifdr=5thengosub6080
5670 ifdr=5thenprint#4,left$(la$,11)"."right$(la$,2)
5680 gosub2050:poke211,15:syser:
5690 ifsu>=0thenprint"[145]"left$(la$,11)"."right$(la$,2)
5700 ifsu<0thenprint"[145][150]"left$(la$,11)"."right$(la$,2)
5710 ifdr=5thenprint#4,"--------------------------------------------"
5720 ifdr=5thenprint#4:close4
5730 yu$="":getyu$:ifyu$=""then5730
5740 ifyu$="_"then5790
5750 ifrr=17thenpoke214,4:syser:fortu=1to20
5760 ifrr=17thenprint" ":nexttu
5770 ifrr=17thenpoke214,4:syser:rr=0:goto5560
5780 goto5730
5790 bs=0:su=0:rr=0:gd=0:ge=0:ra=0:rb=0:gh=0:gf=0:gs=0:gt=0:gc=0:gb=0:ga=0
5800 ga$="":gb$="":gc$="":gt$="":gs$="":gf$="":gh$="":goto4750
5810 print#4,left$(bd$(gg),2)"."mid$(bd$(gg),3,2)"."right$(bd$(gg),2)" ";
5820 print#4,bt$(gg);:lu=len(bt$(gg)):ly=20-lu:mu=len(bs$(gg)):mj$=bs$(gg)
5830 print#4,spc(ly);:pc=5:goto6080
5840 print#4,left$(la$,11)"."right$(la$,2):return
5850 open1,4,0:close1
5860 ifst=-128thenprint"[156][147] drucker ist nicht empfangsbereit."
5870 ifst=-128thenformm=1to2500:next
5880 ifst=-128thenzk=29:goto1680
5890 close4:open4,4
5900 print#4," --------------------------------------------"
5910 print#4," nr kontobezeichnung kontostand buchungen"
5920 print#4," --------------------------------------------"
5930 forgq=1toad
5940 print#4,gq;
5950 ifgq<10thenprint#4," ";
5960 print#4,ah$(gq);:lu=len(ah$(gq)):ly=16-lu:print#4,spc(ly);
5970 mj$=az$(gq):mu=len(mj$):gosub6080
5980 print#4,left$(la$,11)"."right$(la$,2)" "bu(gq)
5990 nextgq
6000 print#4," --------------------------------------------"
6010 print#4," gesamtsumme in dm :";
6020 mj$=str$(ay):mu=len(mj$):ifay>=0thenmu=mu-1:mj$=right$(mj$,mu)
6030 gosub6080
6040 print#4,left$(la$,11)"."right$(la$,2);:ifay<0thenprint#4," soll"
6050 ifay>=0thenprint#4," haben"
6060 print#4," --------------------------------------------":print#4:close4
6070 zk=29:goto1680
6080 ifmu=13thenla$=mj$
6090 ifmu=12thenla$=" "+mj$
6100 ifmu=11thenla$=" "+mj$
6110 ifmu=10thenla$=" "+mj$
6120 ifmu=9thenla$=" "+mj$
6130 ifmu=8thenla$=" "+mj$
6140 ifmu=7thenla$=" "+mj$
6150 ifmu=6thenla$=" "+mj$
6160 ifmu=5thenla$=" "+mj$
6170 ifmu=4thenla$=" "+mj$
6180 ifmu=1thenla$=" 00"+mj$
6190 ifleft$(mj$,1)="-"then6230
6200 ifmu=3thenla$=" "+mj$
6210 ifmu=2thenla$=" 0"+mj$
6220 goto6250
6230 ifmu=2thenla$=" -00"+right$(mj$,1)
6240 ifmu=3thenla$=" -0"+right$(mj$,2)
6250 ifpc=5thenpc=0:goto5840
6260 return